#define _CRT_SECURE_NO_WARNINGS
//struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
//    if (list1 == NULL) {
//        return list2;
//    }
//    else if (list2 == NULL) {
//        return list1;
//    }
//
//    struct ListNode* pS = (struct ListNode*)malloc(sizeof(struct ListNode));
//    struct ListNode* temp = pS;
//    while (list1 != NULL && list2 != NULL) {
//        if (list1->val <= list2->val) {
//            temp->next = list1;
//            list1 = list1->next;
//        }
//        else {
//            temp->next = list2;
//            list2 = list2->next;
//        }
//        temp = temp->next;
//    }
//
//    if (list1 != NULL) {
//        temp->next = list1;
//    }
//    if (list2 != NULL) {
//        temp->next = list2;
//    }
//
//    return pS->next;
//}
